package net.stuffrepos.util.listeners;

import java.util.LinkedList;
import java.util.List;

/**
 *
 * @author Eduardo H. Bogoni <eduardobogoni@gmail.com>
 */
public class SourceVariableListenerManager<T> {

    private List<Listener<T>> listeners = new LinkedList<Listener<T>>();

    public void addListener(Listener<T> listener) {
        if (!listeners.contains(listener)) {
            listeners.add(listener);
        }
    }

    public void fireChange(T source) {
        for (Listener<T> listener : listeners) {
            listener.onChange(source);
        }
    }
}
